/**
* @@@ START COPYRIGHT @@@
*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements.  See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership.  The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License.  You may obtain a copy of the License at
*
*   http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied.  See the License for the
* specific language governing permissions and limitations
* under the License.
*
* @@@ END COPYRIGHT @@@
**/

/*
 * !GLU Result Status Definitions
 *
 * Generated by rsg from: 
 * 
 * $RCSfile: glu_rs.rsg $$Revision: 1.12 $$Date: 1999/05/21 08:38:44 $
 *
 */
#ifndef GLU_RS_H
#define GLU_RS_H
/*                           
 * !Definition of GLU_status 
 *                           
 */                          
 
#include <idltype.h>
typedef IDL_long GLU_status;
/*                           
 *                           
 * 
 * !GLU_SUCCESS
 * 
 * - operation completed successfully 
 * 
 * 
 * !GLU_UNKNOWN
 * 
 * - unknown error 
 * 
 * An unexpected GLU error occured. This is probably a 
 * protocol violation. 
 * 
 * !GLU_BADCIN
 * 
 * - invalid CIN (interface description) 
 * 
 * An invalid interface description has been 
 * encountered. This may be caused by incorrect IDL 
 * constructions, eg. misconstructed compound unions. 
 * 
 * !GLU_BADEXCEPTIDX
 * 
 * - exception index incompatible with operation 
 *   description 
 * 
 * An index refers to an exception which does not exist 
 * in the CIN. This is probably a protocol error. 
 * 
 * !GLU_BADGLUHDR
 * 
 * - invalid header 
 * 
 * An invalid header was encounterd whilst unpacking a 
 * message. This is probably a protocol error. 
 * 
 * !GLU_BADHDRVERSION
 * 
 * - invalid protocol version 
 * 
 * An error has been encountered on unpacking a message 
 * header. This is probably a protocol error. 
 * 
 * !GLU_BADOPIDX
 * 
 * - operation index incompatible with interface 
 *   description 
 * 
 * An index refers to an operation which does not exist 
 * in the CIN. This is probably a protocol error. 
 * 
 * !GLU_BADPARAMIDX
 * 
 * - parameter index incompatible with operation 
 *   description 
 * 
 * An index refers to an parameter which does not exist 
 * in the CIN. This is probably a protocol error. 
 * 
 * !GLU_BADPREPBUF
 * 
 * - prepared CIN is invalid 
 * 
 * "prep" is invalid. Either the memory is corrupt or 
 * "GLU_INTERFACE_PREPARE" was not called. 
 * 
 * !GLU_BADPV
 * 
 * - invalid parameter vector 
 * 
 * A bad parameter vector has been encountered. This is 
 * probably a protocol error. 
 * 
 * !GLU_BADSEQSIZE
 * 
 * - IDL sequence had invalid size 
 * 
 * While unmarshalling a parameter or exception, a 
 * bounded sequence was encountered the length of which 
 * was greater than the bound. This is probably a 
 * protocol violation, because the sending ORB should 
 * have checked the length. 
 * 
 * !GLU_BADSTRSIZE
 * 
 * - IDL string had invalid size 
 * 
 * An attempt to operate on a string failed because the 
 * actual size of the string exceeds its declared size. 
 * 
 * !GLU_INITERR
 * 
 * - GLU module initialization error 
 * 
 * An error occured whilst initialising GLU. Check that 
 * installed software is complete. 
 * 
 * !GLU_LONGINBUF
 * 
 * - input buffer too large (extraneous data) 
 * 
 * The message was unpacked successfully, but 
 * "to_unpack_len" was greater than the data required to 
 * successfully unmarshall the request. This is probably 
 * a protocol violation. 
 * 
 * !GLU_NOSUCHOP
 * 
 * - no such operation 
 * 
 * The operation specified in "request_header" could not 
 * be found. Either the name was not found or the 
 * operation synopsis did not match, i.e. the 
 * operation's type signature defined in "prep" is not 
 * the same as the type signature used to pack the 
 * request. 
 * 
 * !GLU_NOTREQUEST
 * 
 * - input buffer does not contain a request 
 * 
 * The header type is not GLU_TYPE_REQUEST. This status 
 * is only returned if "GLU_HEADER_DEF" is called 
 * implicitly. 
 * 
 * !GLU_NOTRESPONSE
 * 
 * - input buffer does not contain a response 
 * 
 * No response was found on unpacking a response. This 
 * is probably a protocol error. 
 * 
 * !GLU_SHORTINBUF
 * 
 * - input buffer too small 
 * 
 * The message could not be unpacked, because 
 * "to_unpack_len" was smaller than the data required. 
 * This is probably a protocol violation. 
 * 
 * !GLU_SHORTOUTBUF
 * 
 * - output buffer too small 
 * 
 * The message could not be unpacked because 
 * "unpacked_len_max" was smaller than the space 
 * required. "unpacked_len" contains the appropriate 
 * length. Reallocate "unpacked_data" to be at least 
 * "unpacked_len" bytes. 
 * 
 * !GLU_SHORTPREPBUF
 * 
 * - buffer for prepared CIN too small 
 * 
 * The buffer into which the prepared CIN is to be 
 * placed is too small. In order to allocate the buffer 
 * dynamically with exactly the correct size you can 
 * call "PCU_PREPARE" twice. On the first call 
 * "max_prepbuf_len" is set to zero. "PCU_PREPARE" 
 * returns status code PCU_SHORTPREPBUF and 
 * "prepbuf_len" will contain the required "prepbuf" 
 * size. The correct amount of memory can then be 
 * allocated before calling "PCU_PREPARE" a second time 
 * to prepare the CIN description. 
 * 
 * !GLU_SHORTPV
 * 
 * - parameter vector too small 
 * 
 * "pv_len_max" is shorter than required to unpack all 
 * the parameters for the operation. "*local_op_idx" is 
 * valid. The correct size should be two plus the 
 * parameter count for the operation. 
 * GLU_GET_NR_PARAMETERS may be called to get the 
 * parameter count. Note that the "result" is treated as 
 * an "out" parameter and need not be handled specially. 
 * 
 * !GLU_TOOMANYMEMBERS
 * 
 * - implementation limit: struct passed to operation has 
 *   too many fields 
 * 
 * The maximum number of members which may be defined in 
 * an IDL structure has been exceeded. The IDL which 
 * causes the problem will need to be fixed. 
 * 
 * !GLU_UNIMPLCONV
 * 
 * - unimplemented conversion 
 * 
 * While unmarshalling a parameter or exception, a data 
 * type was encountered that could not be converted to 
 * the native format. This is likely to be caused by a 
 * conversion between two different floating point 
 * (real) formats. For example, the client sent a NaN in 
 * IEEE format and the server's native format is Tandem 
 * format which doesn't have a representation for NaN. 
 */
 
#define GLU_SUCCESS          ((GLU_status)   0)
#define GLU_UNKNOWN          ((GLU_status)   1)
#define GLU_BADCIN           ((GLU_status)   2)
#define GLU_SHORTPREPBUF     ((GLU_status)   3)
#define GLU_BADPREPBUF       ((GLU_status)   4)
#define GLU_BADOPIDX         ((GLU_status)   5)
#define GLU_SHORTOUTBUF      ((GLU_status)   6)
#define GLU_BADSEQSIZE       ((GLU_status)   7)
#define GLU_BADSTRSIZE       ((GLU_status)   8)
#define GLU_BADGLUHDR        ((GLU_status)   9)
#define GLU_NOSUCHOP         ((GLU_status)  10)
#define GLU_SHORTINBUF       ((GLU_status)  11)
#define GLU_LONGINBUF        ((GLU_status)  12)
#define GLU_SHORTPV          ((GLU_status)  13)
#define GLU_BADPV            ((GLU_status)  14)
#define GLU_UNIMPLCONV       ((GLU_status)  15)
#define GLU_BADHDRVERSION    ((GLU_status)  16)
#define GLU_INITERR          ((GLU_status)  17)
#define GLU_TOOMANYMEMBERS   ((GLU_status)  18)
#define GLU_NOTREQUEST       ((GLU_status)  19)
#define GLU_NOTRESPONSE      ((GLU_status)  20)
#define GLU_BADEXCEPTIDX     ((GLU_status)  21)
#define GLU_BADPARAMIDX      ((GLU_status)  22)

#ifdef __cplusplus
extern "C" {
#endif
/*
   GLU_STATUS_TO_TEXT converts a result status to a string.

   <rs>				result status to convert

   <=description>   	    	human-readable string for "rs"
   */
extern
char *
GLU_STATUS_TO_TEXT(GLU_status rs);

#ifdef __cplusplus
}
#endif
#endif /* GLU_RS_H */
